home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Technotools
/
Technotools (Chestnut CD-ROM)(1993).ISO
/
lantools
/
mmenu136
/
marxread.me
< prev
next >
Wrap
Text File
|
1992-01-20
|
8KB
|
287 lines
Version 2.35
12-02-91
Added software serialization and access codes. When MarxMenu is first
run it asks you for your serial number and access code. This unlocks
MarxMenu for your system.
UnBlank command has been expanded to allow you to set UnBlank to true
when you want to override MarxMenu's internal unblank logic. This allows
you to write external programs for MarxMenu to use as a screen blanker.
VarType (Variable) : String
VarType returns the type of data contained in a variable. Types returned
include the following:
NUL
NUMBER
REAL
STRING
ARRAY
FILE
POINTER
PROCEDURE
UNKNOWN
NovVolumeNumber (Directory) : Number
Returns the Novell volume number of a directory.
Example:
Writeln NovVolumeNumber ('F:')
NovScanTrusteePaths (2D Array,ObjectNane,ObjectType)
Returns a 2 dimensional array containing the name of the trustee paths
assigned to the object and the trustee access rights.
Example:
var X
NovScanTrusteePaths (X,'MARC',1)
Loop X
Writeln X[LoopIndex,1] ' ' X[LoopIndex,2]
EndLoop
12-16-91
ReadAscTextFile (FileName,2D Array)
ReadAscTextFile reads a standard comma delimited text file into a two
dimensional array. The lines of the file must be limited to 255
characters and the number of lines must be less than 13100. It also has
to fit in memory.
All text in quotes is converted to strings. Numbers not in quotes are
translated as numbers unless there is a '.' in which case they are
translated as floating point numbers.
12-19-91
Enhanced the Password command. The password is case sensitive if the
password in the source code is lower case. But if the password in the
source code is in uppercase then the password is not case sensitive.
Example:
Password 'CRITTER' 4 3 ;will accept critter or CRITTER
Password 'CriTTeR' 4 3 ;will only accept CriTTeR
12-30-91
Enhanced the way the inverse bar works. You can now have a window with
multiple colors and move the inverse bar over them and it restores the
original color.
HexString (Number, Length) : String
HexString converts a number into a base 16 hexadecimal string. If Length
> 0 then the number will have enough leading zeros to make it Length
long. If Length = 0 then leading zeros are removed. Length must be 8 or
less.
Example:
Writeln HexSt(253,4) ;returns 00FD
Writeln HexSt(253,0) ;returns FD
BinString (Number, Length) : String
BinString converts a number into a base 2 binary string. If Length > 0
then the number will have enough leading zeros to make it Length long.
If Length = 0 then leading zeros are removed. Length must be 32 or less.
Example:
Writeln HexSt(45,8) ;returns 00101101
Writeln HexSt(45,0) ;returns 101101
GetMem (Number) : Segment
GetMem allocates the amount of memory specified in Number and returns
the memory segment where the memory was allocated. The memory segment is
filled with 0s. The maximum size of the memory block is 65504 bytes.
You can then read and write to this memory area using the Mem commands.
Example:
var RamBlock
RamBlock = GetMem(2000) ;allocate 2000 bytes of memory
Mem(RamBlock,0) = 5 ;writes the number 5 to the first byte
FreeMem(Segment)
FreeMem deallocates memory that was allocated with GetMem. FreeMem
automatically knows how much memory to deallocate.
ReadFileBlock (Name,Offset,Size,Segment)
ReadFileBlock reads disk file Name starting at byte Offset for Size
bytes into memory buffer Segment. It is intended to read any kind of
file.
The maximum value for Size is 65504. The segment must be as large as the
number of bytes you are reading. The following example will copy a small
file.
Example:
Var RamBlock Size
Size = FileSize 'MARXREAD.ME'
RamBlock = GetMem(Size)
ReadFileBlock('MARXREAD.ME' 0 Size RamBlock)
WriteFileBlock('COPYREAD.ME' 0 Size RamBlock)
FreeMem(RamBlock)
WriteFileBlock (Name,Offset,Size,Segment)
WriteFileBlock writes disk file Name starting at byte Offset for Size
bytes from memory buffer Segment. It is intended to write any kind of
file. If the file doesn't exist, it is created.
The maximum value for Size is 65504. The segment must be as large as the
number of bytes you are writing.
Now, a feature you've all been waiting for. You can now make MsDos and
Interrupt calls directly from MarxMenu.
MsDos (Registers)
MsDos calls the interrupt 21h system call using values passed in an
array of 10 numbers. The array is set up using predefined Qualifiers
that represent the registers that are passed. These qualifiers are:
AX BX CX DX DI SI DS ES BP FL
Example: Get Current Drive
var Reg
Reg.AX = $1900
MsDos(Reg)
Writeln Char(LowWord(Reg.AX) + 1) ':' ;writes C:
Intr (Interrupt,Registers)
Intr works just like MsDos except that it lets you choose which
interrupt you want to call.
HighWord (Number) : Number
Returns the value of the upper 16 bits of a number.
LowWord (Number) : Number
Returns the value of the lower 16 bits of a number.
Segment (String) : Number
Returns the memory segment where string is located.
Offset (String) : Number
Returns the memory offset where string is located.
New Novell Goodies:
NovMyPrintQueues (Array)
Returns a list of all print queues that the user has access too.
NovTotalVolumeSpace (Path) : Number
Returns the total file space of the volume in bytes.
Example:
Writeln NovTotalVolumeSpace 'SYS:'
Writeln NovTotalVolumeSpace 'F:'
NovFreeVolumeSpace (Path) : Number
Returns the free file space of the volume in bytes.
Example:
Writeln NovFreeVolumeSpace 'SYS:'
Writeln NovFreeVolumeSpace 'F:'
NovTotalDirSlots (Path) : Number
Returns the total number of directory slots for this volume.
Example:
Writeln NovTotalDirSlots 'SYS:'
Writeln NovTotalDirSlots 'F:'
NovFreeDirSlots (Path) : Number
Returns the number of free directory slots for this volume.
Example:
Writeln NovFreeDirSlots 'SYS:'
Writeln NovFreeDirSlots 'F:'
===============================================================
Version 2.36
01-07-91
SplitPath (Array)
SplitPath reads the PATH environment variable and splits it up into and
array of strings that are directories the path is made up of. All
directory names are capitalized.
BuildPath (Array)
BuildPath sets the PATH environment variable to the driectories listed
in the Array variable. The first element in the array becomes the first
search path.
01-18-91
****** Good news for VINES users! ******
Banyan has sent me a free copy of Vines so I can add Vines goodies to
marxMenu. (Thanks to Dan Pettengell) And I have started to get it
working. I've set up the server and am running Vines and Netware on the
same workstation.
It may be because I'm just used to Novell but so far I have found
learning Vines somewhat awkward. Perhaps this means there is a market
for some serious utilities here. I welcome any feedback on the subject.
All Vines commands will start with the prefix Vin.
VinesLoaded : Boolean
VinesLoaded returns True if the Vines shell is loaded.
VinesInt : Number
Returns the interrupt number the Vines software is servicing.
VinUserName : String
Returns the StreetTalk name of the person who is logged in.
VinSerialNumber (Drive) : Number
Returns the Vines serial number on the server that the drive letter
referrences.
Example:
Writeln VinSerialNumber ('Z')
VinCheckService (Service) : Number
Returns information about the requested service.
Services:
1 - Communications
2 - Primary 3270 Emulation ID
3 - Async Terminal Emulation
4 - File Deflection
5 - BPS
6 - UnDocumented
7 - StreetTalk
8 - Environment
9 - NetBios
10 - Secondary 3270 Emulation ID
11 - Semaphore
12 - 3270 Emulation Active Status
13 - 3270 Keyboard Interrupt Simulator
14 - Advanced 3270 SNA
15 - UnDocumented
16 - UnDocumented
Return Codes:
0 - Service is Installed
1 - Service is not Installed
2 - Invalid Service Number